#include <string>
#include <stdio.h>
#ifndef STRING_HPP
#define STRING_HPP
namespace xml{

using namespace std;

class String {
	public:
		String();
		// Copy constructor.
		String(const String &st);
		String(const char *);
		~String();
		void assign(const String );
		int length() const;
		void assign(const char * );
		void clear();
		int compare(const String );
		const char * c_str() const;

		// Conversion to std::string.
		operator std::string() const;
		const String operator+(const String &s1) const;
		const String& operator+=(char ch ) ;
		String &operator=(const String &);
		String &operator=(const char &);

	private:
		//char *m_str;
		//int m_len;
		std::string m_str;
};

}
std::ostream &operator<<(std::ostream & out, const xml::String & st);
#endif
